﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Guedes_Library;


/// <summary>
/// Summary description for UsuarioController
/// </summary>
public class UsuarioBusiness
{

    private UsuarioModel usuarioModel;
    private Usuario usuario;

    public Usuario Usuario
    {
        get { return usuario; }
        set { usuario = value; }
    }

    public UsuarioModel UsuarioModel
    {
        get
        {
            if(usuarioModel == null)
                usuarioModel = new UsuarioModel();
            return usuarioModel;
        }
        set{
            usuarioModel = value;
        }

    }


    public UsuarioBusiness()
	{

	}

    public Boolean ValidaUsuario(String email, String senha)
    {
        Usuario = UsuarioLogado(email);
        Boolean flag = true;
        if (Usuario == null)
        {
            flag = false;
        }
        else
        {
            if (Usuario.senha != senha)
            {
                flag = false;
            }
        }
        return flag;
    }


    public Usuario UsuarioLogado(String email)
    {
        Usuario = UsuarioModel.UsarioByEmail(email);
        return usuario;
    }

    public Boolean IsLogado(Usuario usuario)
    {
        return usuario != null;
    }

    public Retorno Salvar(string id, string email, string nome, string senha, string senhaNova, string senhaNovaConfirmacao)
    {
        Retorno retorno = new Retorno();

        if (!ValidaUsuario(email, senha))
        {
            retorno.Error = true;
            retorno.Mensagem = "Senha não confere com a senha do banco de dados! <br> Não foi possível alterar o usuário!";
        }

        if (retorno.Error && senhaNova != senhaNovaConfirmacao)
        {
            retorno.Error = true;
            retorno.Mensagem = "Nova senha e Confirmação não são iguais! <br> Não foi possível alterar o usuário!";   
        }

        if (!retorno.Error)
        {
            Usuario usuario = new Usuario();
            if(!id.Equals(""))
                usuario.id = int.Parse(id);
            usuario.nome = nome;
            usuario.email = email;
            usuario.senha = senhaNova;
            UsuarioModel.Salvar(usuario);
            retorno.Mensagem = "Registro Alterado com sucesso!";  
        }
        return retorno;
    }
}
